Computer system and method of displaying hypertext documents with internal hypertext link definitions

ABSTRACT

A computer system and method display internal and external hypertext link definitions in different representations to simplify a user&#39;s recognition of the external/internal status of each hypertext link definition in a document. Additional information, such as the direction from an internal hypertext link definition to the location in the document pointed to by that definition, and/or the absolute or relative position of the location pointed to by an internal hypertext link definition, may also be displayed. Moreover, a computer system and method may also display the position of the location pointed to by an internal hypertext link definition on a scroll bar such that location information about a particular document is centralized within a common user interface component.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.09/438,080, filed on Nov. 10, 1999 now U.S. Pat. No. 6,585,776 by Bateset al., which is a divisional application of U.S. patent applicationSer. No. 08/925,565, filed on Sep. 8, 1997 by Cary L. Bates et al.(issued as U.S. Pat. No. 5,987,482), which applications are incorporatedby reference herein.

FIELD OF THE INVENTION

The invention is generally related to computers and computer software.More specifically, the invention is generally related to a manner ofdisplaying hypertext documents on a computer display.

BACKGROUND OF THE INVENTION

Hypertext linking has radically simplified the manner in which usersinteract with computers. With hypertext linking, links are definedbetween a source location in one document and a target location in thesame or another document. A user navigates from the source to the targettypically by selecting a hypertext link definition at the sourcelocation. In addition, a hypertext link definition can be associatedwith a particular object displayed in a document so that the associatedobject may be selected by a user to activate a hypertext link.

By associating hypertext link definitions with displayed objects, anextremely powerful, efficient, and intuitive interface is provided to auser. As an example, a document may include hypertext links betweenselected words and their definitions. A user reading that document maythen be able to pull up definitions of particular words that he or shedoes not understand by merely selecting those words directly. In atypical graphical or windows-type computer system, selection may beperformed quickly and easily by moving a pointer over a specific wordusing a mouse and then clicking a button on the mouse—a concept known as“clicking on” an object.

Hypertext link definitions may be associated with a wide variety ofdisplay objects such as text, images, sounds, animation, and videoclips, among others. One segment of the Internet, the World Wide Web,relies extensively on hypertext linking to permit users to navigatebetween documents that contain a wide variety of such multimediaobjects. Documents are formatted using a standard language known as theHypertext Markup Language (HTML).

Users typically view documents from the World Wide Web using a computersoftware application (known as a browser) that is configured to readthis specific document format. A browser typically incorporates at leastone graphical window that displays all or a portion of a particulardocument. The window may also include a scroll bar that a usermanipulates to scroll through different portions of a displayeddocument.

It is in large part the simplicity and intuitiveness of hypertextlinking that has made the World Wide Web the most popular segment of theInternet for many users. In addition, hypertext linking has enjoyed suchpopularity on the Internet that many private computer networks are setup as intranets that use the same hypertext linking concepts to organizeand permit access to information stored on a company's network.Hypertext linking concepts are also used with many help systems, andhave even been incorporated into the basic user interface mechanisms ofsome operating systems.

Many conventional browsers highlight text-based hypertext linkdefinitions using different formatting for the word or words associatedwith each definition. As an example, a hypertext link definition may behighlighted through underlining and/or by portraying the text in adifferent color than the surrounding text. Different colors may also beused with hypertext link definitions to distinguish between those thatpoint to previously-viewed documents and those that point to newdocuments, so that a user is less likely to inadvertently take a link toa document that he or she has already visited.

Hypertext link definitions may be categorized into external and internalhypertext link definitions. An external hypertext link definition linkstogether two different documents, while an internal hypertext linkdefinition links together two different locations within the samedocument. With conventional browsers, however, most users are unable toreadily distinguish between external and internal links without actuallytaking the individual hypertext link definitions.

It is often frustrating for many users when they discover that aparticular hypertext link that they have taken leaves them at adifferent location within the same document—and often at a location thatthey have already viewed. Moreover, other users may realize that theyhave taken an internal hypertext link to a previously-viewed location ina document only after they have read some of the information at the newlocation. Conversely, other users may desire to stay within a particulardocument and avoid taking external hypertext links, since navigation toexternal links is often slower than to internal links. Navigatingbetween hypertext links therefore can become a tedious and timeconsuming trial and error process.

It is often desirable to maximize the time a user is viewing documentswhile minimizing the time a user is navigating hypertext links. Thisdesire is even more prominent when the effects of network congestion(which can slow retrieval of new documents as well as of updates toexisting documents) are considered. Avoiding navigation to undesiredhypertext links would therefore eliminate a significant source of userfrustration and lost productivity.

More sophisticated users having a detailed knowledge of HTML may be ableto determine whether a link definition is for an internal or externallink by referring to the location of the target of the link definitionthat is displayed in a pop-up window or status bar of some browsers whena mouse pointer is positioned over the link definition. A UniformResource Locator (URL) address is often displayed for documents from theWorld Wide Web, and filename and directory information is typicallydisplayed for documents stored on a private network or a user's localcomputer. For the casual user, however, the information displayed abouta target location is often meaningless.

Therefore, a significant need continues to exist for a manner ofimproving the efficiency of hypertext linking, particularly throughminimizing the navigation of undesired hypertext links.

SUMMARY OF THE INVENTION

The invention addresses these and other problems associated with theprior art in providing in one aspect a computer system and method inwhich internal and external hypertext link definitions are displayed indifferent representations to simplify a user's recognition of theexternal/internal status of each hypertext link definition in adocument. Consistent with another aspect of the invention, additionalinformation regarding internal hypertext link definitions may also beprovided to a user. For example, in one aspect a user may be informed ofthe direction from an internal hypertext link definition to the locationin the document pointed to by that definition. In another aspect, a usermay be informed of the position in the document, whether absolute orrelative, of the location pointed to by an internal hypertext linkdefinition.

Using any or all of the information supplied to a user about thehypertext link definitions in a document, a user can often make a moreinformed decision as to whether it would be productive to take any givenlink in the document. As a result, the number of unproductive links thatare taken may be minimized, often making browsing a more enjoyable andproductive task.

Consistent with another aspect of the invention, a computer system andmethod may also be provided for displaying in a window a hypertextdocument with an internal hypertext link definition, with the positionof the location pointed to by the internal hypertext link definitionindicated on a scroll bar displayed in the window. Given that oneprincipal use of a scroll bar is in indicating where a user is locatedin a given document displayed in a window, the additional functionalityimparted to a scroll bar consistent with the invention efficientlycentralizes location information about a particular document within acommon user interface component.

These and other advantages and features, which characterize theinvention, are set forth in the claims annexed hereto and forming afurther part hereof. However, for a better understanding of theinvention, and of the advantages and objectives attained through itsuse, reference should be made to the Drawing, and to the accompanyingdescriptive matter, in which there is described exemplary embodiments ofthe invention.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram of a computer system consistent with theinvention.

FIG. 2 is a block diagram of an exemplary software environment for thecomputer system of FIG. 1.

FIG. 3 is a flowchart illustrating the program flow for the main routineof a browser consistent with the invention.

FIG. 4 is a flowchart illustrating the program flow of the parseddocument routine of FIG. 3.

FIG. 5 is a flowchart illustrating the program flow for the rendereddocument routine of FIG. 3.

FIG. 6 is a block diagram illustrating a hypertext document displayed ina window on the computer system of FIG. 1, showing one representation ofan internal hypertext link definition.

FIG. 7 is a block diagram illustrating an alternate representation of aninternal hypertext link definition which uses an icon.

FIG. 8 is a block diagram illustrating an internal hypertext linkdefinition with a direction indicator.

FIG. 9 is a block diagram illustrating an internal hypertext linkdefinition with a top direction indicator.

FIG. 10 is a block diagram illustrating an internal hypertext linkdefinition with a position indicator.

FIG. 11 is a block diagram illustrating an internal hypertext linkdefinition with an integrated direction/position indicator.

FIG. 12 is a block diagram illustrating an internal hypertext linkdefinition with a pop-up window direction and position indicator.

FIG. 13 is a flowchart illustrating the program flow of a main routinefor a browser that is alternate to that shown in FIG. 3.

FIG. 14 is a block diagram illustrating a hypertext document displayedin a window with a position indicator provided on a scroll bar.

FIG. 15 is a block diagram illustrating a hypertext document displayedin a window with an alternate position indicator displayed on the scrollbar thereof

DETAILED DESCRIPTION

The embodiments of the invention described hereinafter visuallydistinguish between internal and external hypertext link definitions, aswell as optionally provide direction and/or position information for thesame. The embodiments discussed hereinafter may find applicability, forexample, with hypertext documents in an HTML format, e.g., as used onthe World Wide Web (among other applications). However, it should beappreciated that other hypertext document formats may be used in thealternative.

In general, a hypertext document may include any collection ofinformation whether stored in one or more specific files on a computer,in one or more records in a database, etc. Hypertext documents typicallyinclude text, but may also include various multimedia objects such asimages, sound, animation, video clips, etc.

A hypertext link definition is typically rendered in a hypertextdocument and may be selected by a user to invoke a link defined in thehypertext link definition. An external hypertext link typically includesthe location of a target, typically including a uniform resource locator(URL) having a different resource than the current document. An externalhypertext link may also include a specific location in another documentwhen an anchor reference is appended to the URL.

An internal hypertext link typically includes a fragment URL that refersto an anchor within the same document as the definition. The anchor istypically designated by a “#” followed by an anchor token. An internalhypertext link definition points to the same resource as the currentdocument, although this resource information may or may not be includedin the URL specified in the definition.

Hardware Environment

Turning to the Drawing, wherein like numbers denote like partsthroughout the several views, a computer system 10 consistent with theinvention is illustrated in FIG. 1. Computer system 10 is illustrated asa networked computer system including one or more client computersystems 12, 14 and 20 (e.g., desktop or personal computers,workstations, etc.) coupled to server system 16 through a network 18.Network 18 may represent practically any type of networkedinterconnection, including but not limited to local-area, wide-area,wireless, and public networks (e.g., the Internet). Moreover, any numberof computers and other devices may be networked through network 18,e.g., multiple servers. Furthermore, it should be appreciated that theprinciples of the invention may be utilized as well by stand-alonecomputers and associated devices consistent with the invention.

Computer system 20, which may be similar to computer systems 12, 14, mayinclude a processor such as a microprocessor 21; a number of peripheralcomponents such as a computer display 22 (e.g., a CRT, an LCD display orother display device); storage devices 23 such as hard, floppy, and/orCD-ROM disk drives; a printer 24; and various input devices (e.g., amouse 26 and keyboard 27), among others. Computer system 20 operatesunder the control of an operating system, and executes various computersoftware applications, programs, objects, modules, etc. For example, onesuch computer software application is a hypertext browser 30, a windowof which is displayed on computer display 22. Moreover, variousapplications, programs, objects, modules, etc. may also execute on oneor more processors in server 16 or other computer systems 12, 14, e.g.,in a distributed computing environment.

In general, the routines executed to implement the illustratedembodiments of the invention, whether implemented as part of anoperating system or a specific application, program, object, module orsequence of instructions will be referred to herein as “computerprograms”. The computer programs typically comprise instructions which,when read and executed by one or more processors in the devices orsystems in networked computer system 10, cause those devices or systemsto perform the steps necessary to execute steps or elements embodyingthe various aspects of the invention. Moreover, while the invention hasand hereinafter will be described in the context of fully functioningcomputer systems, those skilled in the art will appreciate that thevarious embodiments of the invention are capable of being distributed asa program product in a variety of forms, and that the invention appliesequally regardless of the particular type of signal bearing media usedto actually carry out the distribution. Examples of signal bearing mediainclude but are not limited to recordable type media such as volatileand non-volatile memory devices, floppy disks, hard disk drives,CD-ROM's, DVD's, and transmission type media such as digital and analogcommunications links.

Those skilled in the art will recognize that the exemplary environmentillustrated in FIG. 1 is not intended to limit the present invention.Indeed, those skilled in the art will recognize that other alternativehardware environments may be used without departing from the scope ofthe present invention.

Software Environment

FIG. 2 illustrates one suitable software environment for computer system20 consistent with the invention. A processor 21 is illustrated ascoupled to a memory 28 as well as to several inputs and outputs. Forexample, user input is received by processor 21, e.g., by mouse 26 andkeyboard 27, among others. Additional information may be passed betweencomputer system 20 and other computer systems in networked computersystem 10 via network 18. Additional information may be stored to and/orreceived from mass storage 23. Processor 21 also outputs display data todisplay 22. It should be appreciated that computer system 20 includessuitable interfaces between processor 21 and each of components 18, 22,23, 26, 27 and 28 as is well known in the art.

A browser 30 is illustrated as resident in memory 28. However, it shouldbe appreciated that browser 30 may be stored on network 18 or massstorage 23 prior to start-up, and in addition, may have variouscomponents that are resident at different times in any of memory 28,mass storage 23, network 18, or within registers and/or caches inprocessor 21.

Browser 30 processes hypertext documents for viewing. The hypertextdocuments may be retrieved from mass storage 23 or over network 18,e.g., through an Internet connection. Moreover, hypertext documents maybe cached from time to time in the memory 28 and/or mass storage 23 oncethey are viewed to accelerate subsequent viewing by a user.

It should be appreciated that other software environments may beutilized in the alternative.

Internal/External Hypertext Link Definition Display

FIG. 3 illustrates an exemplary program flow for a main routine 50executed by browser 30 of FIG. 2. Routine 50 is shown implemented in anevent-driven representation. However, other programming models, e.g.,procedural or object-oriented models, may be used in the alternative.

Routine 50 begins in block 52 by waiting for system events, in a mannerknown in the art. Events which are not relevant to an understanding ofthe invention are handled in a conventional manner as represented byblock 60. For example, events such as scrolling, link selection, windowresizing, and other conventional browser events, may be handled in amanner known in the art.

One event which is relevant to the invention, however, is a displaydocument event which is detected at block 54. In response to this event,a parse document routine 56 is executed to generate a data structurewith the formatting information for each display object in a hypertextdocument, and a render document routine 58 is called that utilizes theparse data structure generated by parse document routine 56 to displayeach display object in the hypertext document on the computer display.

Parse document routine 56 is illustrated in greater detail in FIG. 4. Asillustrated at block 70, routine 56 typically performs general parsingoperations well-known in the art. Upon completion of these operations, aloop is initiated at block 72 to scan for internal hypertext linkdefinitions in a hypertext document. Starting at block 72, a while loopexecutes until each hypertext link definition in the hypertext documenthas been scanned. In block 74, the next hypertext link definition in thehypertext document is retrieved. Next, in block 76, the link definitionis scanned to determine whether the definition relates to an internal orexternal link. For example, to determine an internal link, block 76 maylook for an anchor reference with a URL having either no resourceinformation or the same resource information as the current document.

If the link definition is determined to be an external link, controlpasses back to block 72 to retrieve the next link definition. If,however, the link definition is for an internal link, one or both ofblocks 78 and 80 are optionally performed to determine specificinformation relating to the internal hypertext link definition.

Block 78 determines a direction for the internal hypertext linkdefinition by comparing the location of the link definition to that ofthe target referenced therein. In addition, block 78 may also determineif the target is located at the top or bottom of a document and set anappropriate flag indicating such.

Block 80 determines the relative or absolute position of the target ofthe link definition by comparing the location of the target to that ofthe link definition.

Block 80 may determine an absolute position that is representative ofthe actual location of the target in the document. The absolute positionis typically independent of the location of the link definition and maybe indicated by various numerical indicators such as line number, columnnumber, byte number and/or x, y coordinates, among others. The absoluteposition may also be stored as a specific value, or as a percentage ofthe overall size of the document.

Block 80 may also calculate a relative position of the target relativeto the link definition. The relative position may be stored as aspecific distance, e.g., in terms of line number, column number, bytenumber, character number, and/or x, y coordinates, among others. Therelative location may also be stored as a percentage of the documentsize, for example.

As an example, if a document has ten lines with an internal hypertextlink definition defined at line three and pointing to a target locatedat line eight, the absolute position of the target may be stored as anumerical indicator, such as line eight, or a percentage indicator, suchas eighty percent (indicating that the target is located eighty percentof the way through the document). A relative position may also be storedas a numerical value such as line five, indicating that the target isfive lines away from the internal link definition. In the alternative,the relative position may be stored as a percentage such as fiftypercent, indicating that the target is half the document size away fromthe internal hypertext link definition.

It should be appreciated that the direction and position information mayalso be combined into the same value. For example, a negative relativeposition may indicate a backwards direction, with a positive relativeposition indicating a forward direction.

Once direction and/or position information are optionally determined,block 82 sets the display attributes for the internal hypertext linkdefinition. For example, a flag may be set to indicate the internalstatus of the definition. In addition, the direction and/or positioninformation may be stored in the display attributes. The displayattributes may represent any suitable data structure, e.g., nodes in aparse tree, as is known in the art. Upon completion of block 82, controlpasses back to block 72 to scan the remaining hypertext link definitionsin the hypertext document.

FIG. 5 illustrates render document routine 58 in greater detail. Routine58 operates in much the same manner as a conventional rendering routineby executing a loop beginning at block 86 that retrieves each of thedisplay objects at block 88 and then renders each display object atblock 98. Routine 58, however, adds an additional step at block 90 todetect and specially handle display objects relating to internalhypertext link definitions.

Whenever a display object for an internal hypertext link definition isdetected at block 90, control passes to block 92 to optionally determinewhether internal links have been enabled. In particular, a user may begiven the option of disabling internal links so that the links may notbe navigated, or may not even be shown. This may be performed, forexample, by setting the display properties for internal links to be thatof the surrounding text such that the links are not highlighted to auser. Also, the selection of internal links may be disabled in the linkselection handling routines for the browser. In general, this optionalfunctionality may be desired by some users should they never wish to beinformed of internal links within documents. However, it should beappreciated that this function may be omitted in the alternative.

If block 92 determines that internal links have been enabled, control ispassed to execute either or both of blocks 94 and 96. Block 94 renders alink definition using the representation selected by the user forinternal hypertext link definitions. Block 96 displays direction and/orposition indicators in conjunction with, or in lieu of, a linkdefinition rendered in block 94. As discussed below, some indicators mayindicate various combinations of internal/external status, direction,and/or position. Consequently, it may not be necessary to renderseparate link definitions, direction indicators and position indicators.For example, just the fact that a direction and/or position indicationis provided may be sufficient to indicate the internal/external statusof a link without a separate representation. In addition, some positionindicators inherently show direction, and therefore separate directionand position indicators may not be required.

Various modifications may be made to the routines disclosed in FIGS. 3-5consistent with the invention. For example, external hypertext linkdefinitions may also be separately handled, with similar additionalinformation generated for such links. Moreover, the position of thetarget in a new document may be calculated and utilized in renderingexternal hypertext link definitions. Other modifications will beapparent to one skilled in the art.

FIGS. 6-12 show various representations of internal hypertext linkdefinitions. It should be appreciated that such representations may beselectable as options by a user, or only one such representation may beavailable in a given application.

Each of the examples discussed below is based upon the following HTMLsource code, which generally illustrates a table of contents header atthe beginning of a hypertext document for accessing various chapterswithin the document:

TABLE I Sample HTML Source Code  1 <html>  2 <head>  3<title>http://Sample.html</title>  4 </head>  5 <a name=“Table ofContents”></a>  6 <p><em><strong>Table of Contents</strong></em>  7 <brwp=“br1”><br wp=“br2”>  8 <p> I. <ahref=“#Introduction”>Introduction</a>  9 <p> II. <a href=“#Chapter1”>Chapter 1</a> 10 <p> III. <a href=“#Chapter 2”>Chapter 2</a> 11 <brwp=“br1”><br wp=“br”><a name=“Introduction”></a> 12<p><em><strong>Introduction</strong></em> O O O 13 <a name=“Chapter 1”>14 <p><em><strong>Chapter 1</strong></em> O O O 15 <a name=“Chapter 2”>16 <p><em><strong>Chapter 2</strong></em> O O O 17 <br wp=“br1”><brwp=“br2”> 18 <p> For More Information, see <ahref=“http://www.ibm.com”>http://www.ibm.com</a> 19 <br wp=“br1”><brwp=“br2”> 20 <p> Click <a href=“#Table of Contents”>Here</a> to Returnto Table of Contents 21 </body> 22 </html>

As discussed above, various internal status indications may be used toprovide a visually distinct representation of an internal hypertext linkdefinition compared to an external hypertext link definition. As shownin FIG. 6, for example, a window 100 for browser 30 displays hypertextdocument 110, which is the rendered representation of the source codeshown above in Table I. Hypertext document 110 includes an internaldefinition 112 which points to target 114. In addition, an internalhypertext link definition 116 points to a target 118 and an internalhypertext link definition 120 points to a target 122. Moreover, aninternal hypertext link definition 126 points to a target 128 that isdisposed at the top of hypertext document 110. Finally, an externalhypertext link definition is defined at 124.

As shown in FIG. 6, the internal and external hypertext link definitionsmay be distinguished by a display characteristic such as the manner inwhich each definition is formatted. For example, the internal hypertextlink definitions 112, 116, 120 and 126 are shown formatted with doubleunderlines, with external hypertext link definition 124 formatted with asingle underline. Other formatting or display characteristics may alsobe used to distinguish internal and external hypertext link definitions.For example, different colors, font faces/sizes, styles (e.g.,underline, italics, bold, etc.), and/or other display characteristicsmay be used. In addition, animation techniques, e.g., blinking, may beused to distinguish one or both of the internal and external hypertextlink definitions.

FIG. 7 illustrates an alternate manner of indicating an internalhypertext link definition 130 where a specific icon 132 is appended tothe definition to indicate the internal status thereof. Icon 132 isshown with an “I” indication, although other graphical and/oralphanumeric indications may be used in the alternative.

Various manners may also be used to indicate direction information foran internal hypertext link definition. For example, as shown in FIG. 8,an internal hypertext link definition 136 includes a direction indicator138 displayed as an arrow icon pointing in the direction of the target.It should be appreciated that icon 138 also functions as an internalstatus indication if no similar icons are used for external links. Itshould be appreciated that in the alternative various displaycharacteristics such as colors, fonts, etc. may also be used todistinguish the direction of an internal hypertext link.

As shown in FIG. 9, an internal hypertext link definition 142 may alsoinclude a top/bottom direction indicator 144 which separately indicateswhen an internal hypertext link definition points to the top or bottomof the document. Icon 144 may also utilize other representations toindicate the top or bottom of the document, e.g., “T” or “B” icons. Inaddition, different fonts, colors, etc. may also be used to distinguishtop/bottom indicators from standard direction indicators.

Various manners of indicating position may also be used consistent withthe invention. For example, FIG. 10 illustrates an internal hypertextlink definition 148 that has its text shaded or colored like a bar graphshowing the percentage of the document where the target is located. Inparticular, definition 148 is rendered with different colors 150, 152that form a boundary therebetween illustrating the absolute position ofthe target.

In the alternative, as shown in FIG. 11, a combined direction/positionindicator 158 may be used to show both position and direction of aninternal hypertext link definition 156. As shown in this figure, anarrow 158 is shaded like a vertical bar graph with the absolute positionof the target located at the relative location in the documentcorresponding to the boundary between the two shadings for arrow 158. Itshould be appreciated that an icon may also be varied in other manners,e.g., varying the size or length of an arrow icon according the relativeposition of the target.

FIG. 12 illustrates yet another alternative indication of positionand/or direction, where an internal hypertext link definition 162includes a pop-up window 164 that is activated whenever pointer 170 ismoved over the definition (i.e., when definition 162 has focus). Asshown in this figure, text information 166, e.g., alphanumericinformation about the internal/external status, the direction, and/orthe relative/absolute position, may be indicated. Moreover, the resourceinformation, such as the URL address, may also be shown. Otherinformation may be indicated consistent with the invention.

This figure also illustrates that graphical information, such as agraphical depiction 168 of the hypertext document, may be included.Depiction 168 also includes an indicator 169 showing the position of thetarget and/or the link definition in the document. One suitableindicator is that of an arrow which extends from the link definition tothe location of the target thereto.

It should be appreciated that pop-up window 164 may be displayed inother containers such as another window or a panel in the currentwindow. For example, a continuous display of a graphical depiction ofthe document may be shown, with the arrow illustrating the internalhypertext link definition activated only when the internal hypertextlink definition has focus.

Various modifications may be made to the above-described embodimentswithout departing from the spirit and scope of the invention. Forexample, separate external hypertext link indicators may be used, suchas specific colors, icons, etc. A door or arrow icon may be utilized toindicate that a link definition points to a target that is external tothe current document. Other modifications will be apparent to one ofordinary skill in the art.

Scroll Bar Indication of Internal Hypertext Link Target Locations

An additional manner of displaying status, direction and/or positioninformation regarding an internal hypertext link definition may be tointegrate such information into a scroll bar for the browser window inwhich a hypertext document is displayed. It should be appreciated that ascroll bar already displays the relative location of the information onthe hypertext document that is currently displayed in the window. Inaddition, it should be appreciated that in some operating systems, thesize of the slider used in the scroll bar may be varied to show therelative size of the information that is currently displayed in thewindow. Accordingly, by providing status, direction and/or positioninformation within a scroll bar, a centralized user interface componentmay be used to view a wide variety of location information for adocument.

FIG. 13 illustrates an alternate main routine 200 for browser 30 thatmay be utilized to integrate information into a scroll bar. Block 202waits for events, and block 204 handles a display document event similarto block 54 of main routine 50 of FIG. 3. Specifically, block 204 mayexecute parse document routine 56 of FIG. 4 and render document routine58 of FIG. 5.

Block 206 handles mouse movement events, with any additional eventsreceived by browser 30 handled by block 208 in a manner known in theart. If a mouse movement event is detected, block 210 is executed todetermine whether focus has been placed on an internal hypertext linkdefinition. If so, block 212 is executed to set an indicate positionflag for the internal hypertext link definition, and block 214 isexecuted to display a position indicator on the window scroll bar.Blocks 212 and 214 may be implemented, for example, in anobject-oriented system by creating a subclassed scroll bar controlhaving a position indicator object that can be rendered in conjunctionwith the rendering of the scroll bar on a window. Such a subclassedobject may include a method such as an IndicateTargetPosition( ) methodthat sets or clears a flag and receives position information for theinternal hypertext link definition and/or its target. Such informationthen may be used during rendering of the scroll bar to determine if andwhere to render an indicator on the scroll bar indicating informationabout the internal hypertext link definition. Other manners ofimplementing an indicator overlapping a scroll bar may be used in thealternative.

Returning to block 210, if focus is not on an internal link, controlpasses to block 216 to clear the indicate position flag for the internalhypertext link definition, and to hide the position indicator on thescroll bar. Next, in block 218, other mouse movement events received viablock 206, e.g., focus being placed on other display objects, arehandled in a manner known in the art.

FIGS. 14 and 15 illustrate representative indicators which may bedisplayed on a scroll bar consistent with the invention. For example, asshown in FIG. 14, a window 220 has a scroll bar 232 with a slider 234disposed thereon. The hypertext document displayed in the windowincludes an internal hypertext link definition 226 which has a targetthat is located at the relative position in the document indicated by aposition indicator 236 applied to the scroll bar 232. Position indicator236 is activated only in response to pointer 238 being disposed overinternal hypertext link definition 226. Moreover, position indicator 236is implemented as a horizontal line that extends generally across thewidth of scroll bar 232. Indicator 236 also acts as a directionindicator by comparing the position of the indicator relative to slider234.

FIG. 15 illustrates several alternatives to the position indicator ofFIG. 14. For example, a window 240 includes a scroll bar 250 having aslider 252 and a position indicator 254 that is associated with aninternal hypertext link definition 242. When focus is placed ondefinition 242 by pointer 244, definition 242 may be highlighted asshown 246. Moreover, position indicator 254 may be activated to showboth the absolute position of the internal hypertext link definition(the end without an arrow) and the location of the target for thatdefinition (the end with the arrow). In addition, by virtue of theillustration of the positions of both the definition and its target, thedirection of the link is also inherently displayed. Moreover, theactivation of the position indicator may also inherently act as aninternal status indicator for the link definition.

It should be appreciated that various alternate indicatorrepresentations may be used in the alternative. For example, thepositions of multiple internal link definition targets may be displayedsimultaneously on a scroll bar, typically without requiring the user tofocus on a particular link definition. In such applications, it may bedesirable to use different colors to coordinate position indicators withparticular link definitions. Also, other manners of coordinatingposition indicators and link definitions, e.g., icons or alphanumericidentifiers, may be used. For example, different geometric shapes, ordifferent letters or numbers, may be appended to link definitions anddisplayed on the scroll bar to illustrate the position of each linkdefinition target in the document.

Various additional modifications may be made to the above-describedembodiments without departing from the spirit and scope of theinvention. Therefore, the invention lies solely in the claimshereinafter appended.

1. A computer-implemented method of displaying a hypertext document on acomputer display, the hypertext document including an internal hypertextlink definition linked to a predetermined location therein, the methodcomprising: (a) determining that the internal hypertext link definitionis for an internal hypertext link that is linked to the same hypertextdocument rather than an external hypertext link that is linked to adifferent hypertext document; (b) displaying the internal hypertext linkdefinition on the computer display; and (c) in response to determiningthat the internal hypertext link definition is for an internal hypertextlink, indicating in association with the internal hypertext linkdefinition the internal status of the internal hypertext link definitionto distinguish the internal hypertext link definition from an externalhypertext link definition; wherein the hypertext document is a firsthypertext document, the first hypertext document further including anexternal hypertext link definition linked to a second hypertextdocument, wherein the method further comprises displaying the externalhypertext link definition on the computer display in a firstrepresentation, wherein indicating the internal status of the internalhypertext link definition includes displaying the internal hypertextlink definition in a second representation that is visually distinctfrom the first representation to thereby simplify recognition of anexternal/internal status of each hypertext link definition, and whereinone of the first and second representations includes an icon.
 2. Themethod of claim 1, further comprising scanning the first hypertextdocument for internal hypertext link definitions.
 3. The method of claim1, wherein the first and second representations have visually distinctdisplay characteristics selected from the group consisting of colors,fonts, styles, and combinations thereof.
 4. The method of claim 1,wherein the second representation includes the icon, the icon furtherindicating a direction from the internal hypertext link definition tothe predetermined location in the first hypertext document.
 5. Themethod of claim 1, wherein the second representation includes the icon,the icon further indicating a position of the predetermined location inthe first hypertext document.
 6. The method of claim 1, wherein one ofthe first and second representations is animated.
 7. The method of claim1, wherein displaying the internal hypertext link definition includesselectively displaying the internal hypertext link definition only inresponse to user selection of an internal link enable mode.
 8. Themethod of claim 1, further comprising setting the second representationto that of surrounding text in response to user selection of an internallink disable mode.
 9. The method of claim 1, further comprising: (a)determining a direction from the internal hypertext link definition tothe predetermined location in the hypertext document; and (b) indicatingthe direction from the internal hypertext link definition to thepredetermined location on the computer display.
 10. The method of claim9, wherein indicating the direction is the sole indication of theinternal status of the internal hypertext link definition.
 11. Themethod of claim 1, further comprising: (a) determining a position of thepredetermined location in the hypertext document; and (b) indicating theposition of the predetermined location on the computer display.
 12. Themethod of claim 11, wherein indicating the position is the soleindication of the internal status of the internal hypertext linkdefinition.
 13. The method of claim 11, wherein the position is arelative position from the internal hypertext link definition to thepredetermined location in the hypertext document.
 14. The method ofclaim 11, wherein the position is an absolute position of thepredetermined location in the hypertext document.
 15. The method ofclaim 11, further comprising displaying at least a portion of thehypertext document in a window, the window including a scroll bar,wherein indicating the position includes displaying an indicator on thescroll bar.
 16. A computer system configured to display a hypertextdocument, the hypertext document including an internal hypertext linkdefinition linked to a predetermined location in the hypertext document,the computer system comprising: (a) a computer display; and (b) aprocessor, coupled to the computer display, the processor configured todisplay the internal hypertext link definition on the computer display,and, in response to determining that the internal hypertext linkdefinition is for an internal hypertext link that is linked to the samehypertext document rather than an external hypertext link that is linkedto a different hypertext document, to indicate in association with theinternal hypertext link definition the internal status of the internalhypertext link definition to distinguish the internal hypertext linkdefinition from an external hypertext link definition; wherein thehypertext document is a first hypertext document further including anexternal hypertext link definition linked to a second hypertextdocument, wherein the processor is further configured to respectivelydisplay the external and internal hypertext link definitions in firstand second visually distinct representations to thereby simplifyrecognition of an external/internal status of each hypertext linkdefinition, and wherein one of the first and second representationsincludes an icon.
 17. The computer system of claim 16, wherein theprocessor is further configured to scan the first hypertext document forinternal hypertext link definitions.
 18. The computer system of claim16, wherein the first and second representations have visually distinctdisplay characteristics selected from the group consisting of colors,fonts, styles, and combinations thereof.
 19. The computer system ofclaim 16, wherein one of the first and second representations isanimated.
 20. The computer system of claim 16, wherein the processor isfurther configured to indicate on the computer display a direction fromthe internal hypertext link definition to the predetermined location inthe hypertext document.
 21. The computer system of claim 16, wherein theprocessor is further configured to indicate on the computer display aposition of the predetermined location in the hypertext document.
 22. Acomputer-implemented method of displaying a hypertext document on acomputer display, the hypertext document including an internal hypertextlink definition linked to a predetermined location in the hypertextdocument, the method comprising: (a) determining that the internalhypertext link definition is for an internal hypertext link that islinked to the same hypertext document rather than an external hypertextlink that is linked to a different hypertext document; (b) displaying awindow on the computer display, the window displaying at least a portionof the hypertext document, and the window including a scroll barconfigured to display selected portions of the hypertext document in thewindow in response to user input, the scroll bar including a slider; and(c) indicating on the scroll bar, and other than with the slider, aposition of the predetermined location in the hypertext document. 23.The method of claim 22, wherein indicating the position includesdisplaying an indicator at a position on the scroll bar that correspondsto the absolute position of the predetermined location in the hypertextdocument.
 24. The method of claim 23, wherein the indicator includes ahorizontal line.
 25. The method of claim 22, further comprisingindicating the position only in response to user input placing focus onthe internal hypertext link definition.
 26. A computer system configuredto display a hypertext document, the hypertext document including aninternal hypertext link definition linked to a predetermined location inthe hypertext document, the computer system comprising: (a) a computerdisplay; and (b) a processor, coupled to the computer display, theprocessor configured to display at least a portion of the hypertextdocument in a window, and to indicate on a scroll bar for the window,and other than with a slider on the scroll bar, a position of thepredetermined location in the hypertext document.
 27. The computersystem of claim 26, wherein the processor is configured to display anindicator at a position on the scroll bar that corresponds to theabsolute position of the predetermined location in the hypertextdocument.
 28. The computer system of claim 27, wherein the indicatorincludes a horizontal line.
 29. The computer system of claim 26, whereinthe processor indicates the position only in response to user inputplacing focus on the internal hypertext link definition.